package algorithm.sort;

//冒泡排序-----两两比较，指针依次向后移动
public class MaopaoSort {
    public static void main(String[] args) {
        int[] data = new int[]{-99,-6,3,78,9,40};

        //加入一个标志判断
        boolean flag;
        // 第一层循环表示趟数，第二次循环表示两两比较的次数
        for (int i=0;i<data.length-1;i++){

            flag=false;
            //由于每次比较完之后，下一趟比较次数会减少，所有产生条件
            for (int j =0;j<data.length-1-i;j++){
                if (data[j]>data[j+1]){
                    int temp = data[j];
                    data[j] = data[j+1];
                    data[j+1] = temp;
                    flag = true;
                }
            }
            //当不在进行交换的时候，可以直接退出循环
            if (!flag){
                break;
            }

        }


        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i]+" ");
        }
    }
}
